/**
 * 1.Send 标记 trait 表明实现了 Send 的类型值的所有权可以在线程间传送。几乎所有的 Rust 类型都是Send 的，
 *   不过有一些例外，包括 Rc<T>，这是因为Rc的fetch_add（引用计数)属于非原子操作
 * 2.任何完全由 Send 的类型组成的类型也会自动被标记为 Send。
 *   几乎所有基本类型都是 Send 的，除了第二十章将会讨论的裸指针（raw pointer）
 * 3.Sync 标记 trait 表明一个实现了 Sync 的类型可以安全的在多个线程中拥有其值的引用
 * 4.类似于 Send 的情况，基本类型是 Sync 的，完全由 Sync 的类型组成的类型也是 Sync 的
 * 5.通常并不需要手动实现 Send 和 Sync trait，因为由 Send 和 Sync 的类型组成的类型，
 *    自动就是 Send 和 Sync 的。因为它们是标记 trait，甚至都不需要实现任何方法。它们只是用来加强并发相关的不可变性的
 * 6.手动实现这些标记 trait 涉及到编写不安全的 Rust 代码
 */